home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD 2.1 / Amiga Developer CD v2.1.iso / NDK / NDK_1.3 / Include-Strip1.3 / include.h / devices / hardblocks.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-07-15  |  2.7 KB  |  121 lines

  1. #ifndef    DEVICES_HARDBLOCKS_H
  2. #define    DEVICES_HARDBLOCKS_H
  3. struct    RigidDiskBlock    {
  4. ULONG    rdb_ID;
  5. ULONG    rdb_SummedLongs;
  6. LONG    rdb_ChkSum;
  7. ULONG    rdb_HostID;
  8. ULONG    rdb_BlockBytes;
  9. ULONG    rdb_Flags;
  10. ULONG    rdb_BadBlockList;
  11. ULONG    rdb_PartitionList;
  12. ULONG    rdb_FileSysHeaderList;
  13. ULONG    rdb_DriveInit;
  14. ULONG    rdb_Reserved1[6];
  15. ULONG    rdb_Cylinders;
  16. ULONG    rdb_Sectors;
  17. ULONG    rdb_Heads;
  18. ULONG    rdb_Interleave;
  19. ULONG    rdb_Park;
  20. ULONG    rdb_Reserved2[3];
  21. ULONG    rdb_WritePreComp;
  22. ULONG    rdb_ReducedWrite;
  23. ULONG    rdb_StepRate;
  24. ULONG    rdb_Reserved3[5];
  25. ULONG    rdb_RDBBlocksLo;
  26. ULONG    rdb_RDBBlocksHi;
  27. ULONG    rdb_LoCylinder;
  28. ULONG    rdb_HiCylinder;
  29. ULONG    rdb_CylBlocks;
  30. ULONG    rdb_AutoParkSeconds;
  31. ULONG    rdb_Reserved4[2];
  32. char    rdb_DiskVendor[8];
  33. char    rdb_DiskProduct[16];
  34. char    rdb_DiskRevision[4];
  35. char    rdb_ControllerVendor[8];
  36. char    rdb_ControllerProduct[16];
  37. char    rdb_ControllerRevision[4];
  38. ULONG    rdb_Reserved5[10];
  39. };
  40. #define    IDNAME_RIGIDDISK    (('R'<<24)|('D'<<16)|('S'<<8)|('K'))
  41. #define    RDB_LOCATION_LIMIT    16
  42. #define    RDBFB_LAST    0
  43. #define    RDBFF_LAST    0x01L
  44. #define    RDBFB_LASTLUN    1
  45. #define    RDBFF_LASTLUN    0x02L
  46. #define    RDBFB_LASTTID    2
  47. #define    RDBFF_LASTTID    0x04L
  48. #define    RDBFB_NORESELECT    3
  49. #define    RDBFF_NORESELECT    0x08L
  50. #define    RDBFB_DISKID    4
  51. #define    RDBFF_DISKID    0x10L
  52. #define    RDBFB_CTRLRID    5
  53. #define    RDBFF_CTRLRID    0x20L
  54. struct    BadBlockEntry    {
  55. ULONG    bbe_BadBlock;
  56. ULONG    bbe_GoodBlock;
  57. };
  58. struct    BadBlockBlock    {
  59. ULONG    bbb_ID;
  60. ULONG    bbb_SummedLongs;
  61. LONG    bbb_ChkSum;
  62. ULONG    bbb_HostID;
  63. ULONG    bbb_Next;
  64. ULONG    bbb_Reserved;
  65. struct    BadBlockEntry    bbb_BlockPairs[61];
  66. };
  67. #define    IDNAME_BADBLOCK    (('B'<<24)|('A'<<16)|('D'<<8)|('B'))
  68. struct    PartitionBlock    {
  69. ULONG    pb_ID;
  70. ULONG    pb_SummedLongs;
  71. LONG    pb_ChkSum;
  72. ULONG    pb_HostID;
  73. ULONG    pb_Next;
  74. ULONG    pb_Flags;
  75. ULONG    pb_Reserved1[2];
  76. ULONG    pb_DevFlags;
  77. UBYTE    pb_DriveName[32];
  78. ULONG    pb_Reserved2[15];
  79. ULONG    pb_Environment[17];
  80. ULONG    pb_EReserved[15];
  81. };
  82. #define    IDNAME_PARTITION    (('P'<<24)|('A'<<16)|('R'<<8)|('T'))
  83. #define    PBFB_BOOTABLE    0
  84. #define    PBFF_BOOTABLE    1L
  85. #define    PBFB_NOMOUNT    1
  86. #define    PBFF_NOMOUNT    2L
  87. struct    FileSysHeaderBlock    {
  88. ULONG    fhb_ID;
  89. ULONG    fhb_SummedLongs;
  90. LONG    fhb_ChkSum;
  91. ULONG    fhb_HostID;
  92. ULONG    fhb_Next;
  93. ULONG    fhb_Flags;
  94. ULONG    fhb_Reserved1[2];
  95. ULONG    fhb_DosType;
  96. ULONG    fhb_Version;
  97. ULONG    fhb_PatchFlags;
  98. ULONG    fhb_Type;
  99. ULONG    fhb_Task;
  100. ULONG    fhb_Lock;
  101. ULONG    fhb_Handler;
  102. ULONG    fhb_StackSize;
  103. LONG    fhb_Priority;
  104. LONG    fhb_Startup;
  105. LONG    fhb_SegListBlocks;
  106. LONG    fhb_GlobalVec;
  107. ULONG    fhb_Reserved2[23];
  108. ULONG    fhb_Reserved3[21];
  109. };
  110. #define    IDNAME_FILESYSHEADER    (('F'<<24)|('S'<<16)|('H'<<8)|('D'))
  111. struct    LoadSegBlock    {
  112. ULONG    lsb_ID;
  113. ULONG    lsb_SummedLongs;
  114. LONG    lsb_ChkSum;
  115. ULONG    lsb_HostID;
  116. ULONG    lsb_Next;
  117. ULONG    lsb_LoadData[123];
  118. };
  119. #define    IDNAME_LOADSEG    (('L'<<24)|('S'<<16)|('E'<<8)|('G'))
  120. #endif
  121.